/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.huyu.substat.modules.substat.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 项目人才获奖情况Entity
 * @author huyu
 * @version 2017-01-06
 */
public class TbTeacherFulltime extends DataEntity<TbTeacherFulltime> {
	
	private static final long serialVersionUID = 1L;
	private String teacherId;		// 教师id
	private String teacherName;		// 教师姓名
	private String sex;		// 性别
	private Date birthday;		// 出生年月
	private String company;		// 单位
	private String highDegree;		// 最高学历
	private String highEducation;		// 最高学位
	private String universityGraduated;		// 毕业院校
	private String major;		// 专业
	private Date timeGraduated;		// 毕业时间
	private String title;		// 职称
	private String titleLevel;		// 职称级别
	private String tutorLevel;		// 导师类别
	private Date timeEvaluate;		// 评定时间
	private Date timeAppoint;		// 聘任时间
	private String degreeOverseas;		// 取得海外学位情况
	private String experienceOverseas;		// 海外研修经历
	private Date timeWork;		// 参加工作时间
	private Date timeCome;		// 来校时间
	private String jobParttime;		// 学术兼职
	private String dataStatus;		// 数据状态 0-无效 1-有效
	private Date createTime;		// 创建时间
	private Date updateTime;		// 修改时间
	
	public TbTeacherFulltime() {
		super();
	}

	public TbTeacherFulltime(String id){
		super(id);
	}

	@Length(min=1, max=11, message="教师id长度必须介于 1 和 11 之间")
	public String getTeacherId() {
		return teacherId;
	}

	public void setTeacherId(String teacherId) {
		this.teacherId = teacherId;
	}
	
	@Length(min=1, max=50, message="教师姓名长度必须介于 1 和 50 之间")
	public String getTeacherName() {
		return teacherName;
	}

	public void setTeacherName(String teacherName) {
		this.teacherName = teacherName;
	}
	
	@Length(min=0, max=1, message="性别长度必须介于 0 和 1 之间")
	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	
	@Length(min=0, max=100, message="单位长度必须介于 0 和 100 之间")
	public String getCompany() {
		return company;
	}

	public void setCompany(String company) {
		this.company = company;
	}
	
	@Length(min=0, max=100, message="最高学历长度必须介于 0 和 100 之间")
	public String getHighDegree() {
		return highDegree;
	}

	public void setHighDegree(String highDegree) {
		this.highDegree = highDegree;
	}
	
	@Length(min=0, max=1, message="最高学位长度必须介于 0 和 1 之间")
	public String getHighEducation() {
		return highEducation;
	}

	public void setHighEducation(String highEducation) {
		this.highEducation = highEducation;
	}
	
	@Length(min=0, max=100, message="毕业院校长度必须介于 0 和 100 之间")
	public String getUniversityGraduated() {
		return universityGraduated;
	}

	public void setUniversityGraduated(String universityGraduated) {
		this.universityGraduated = universityGraduated;
	}
	
	@Length(min=0, max=100, message="专业长度必须介于 0 和 100 之间")
	public String getMajor() {
		return major;
	}

	public void setMajor(String major) {
		this.major = major;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTimeGraduated() {
		return timeGraduated;
	}

	public void setTimeGraduated(Date timeGraduated) {
		this.timeGraduated = timeGraduated;
	}
	
	@Length(min=0, max=100, message="职称长度必须介于 0 和 100 之间")
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
	
	@Length(min=0, max=1, message="职称级别长度必须介于 0 和 1 之间")
	public String getTitleLevel() {
		return titleLevel;
	}

	public void setTitleLevel(String titleLevel) {
		this.titleLevel = titleLevel;
	}
	
	@Length(min=0, max=1, message="导师类别长度必须介于 0 和 1 之间")
	public String getTutorLevel() {
		return tutorLevel;
	}

	public void setTutorLevel(String tutorLevel) {
		this.tutorLevel = tutorLevel;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTimeEvaluate() {
		return timeEvaluate;
	}

	public void setTimeEvaluate(Date timeEvaluate) {
		this.timeEvaluate = timeEvaluate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTimeAppoint() {
		return timeAppoint;
	}

	public void setTimeAppoint(Date timeAppoint) {
		this.timeAppoint = timeAppoint;
	}
	
	@Length(min=0, max=100, message="取得海外学位情况长度必须介于 0 和 100 之间")
	public String getDegreeOverseas() {
		return degreeOverseas;
	}

	public void setDegreeOverseas(String degreeOverseas) {
		this.degreeOverseas = degreeOverseas;
	}
	
	@Length(min=0, max=1, message="海外研修经历长度必须介于 0 和 1 之间")
	public String getExperienceOverseas() {
		return experienceOverseas;
	}

	public void setExperienceOverseas(String experienceOverseas) {
		this.experienceOverseas = experienceOverseas;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTimeWork() {
		return timeWork;
	}

	public void setTimeWork(Date timeWork) {
		this.timeWork = timeWork;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTimeCome() {
		return timeCome;
	}

	public void setTimeCome(Date timeCome) {
		this.timeCome = timeCome;
	}
	
	@Length(min=0, max=100, message="学术兼职长度必须介于 0 和 100 之间")
	public String getJobParttime() {
		return jobParttime;
	}

	public void setJobParttime(String jobParttime) {
		this.jobParttime = jobParttime;
	}
	
	@Length(min=0, max=1, message="数据状态 0-无效 1-有效长度必须介于 0 和 1 之间")
	public String getDataStatus() {
		return dataStatus;
	}

	public void setDataStatus(String dataStatus) {
		this.dataStatus = dataStatus;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	
}